My approach would be to give the sets an identifier as they are created, so the parts have a variable and before you create a set of them, you increase a global variable by 1 and set the car parts ID variable to that global variable. So you end up with something like : 5 parts created all with ID=1, 5 parts created all with ID=2 etc
In your current logic you are picking a random car part instance out of ALL instances that exist. You could now limit this to pick a random car part instance where car part.ID=global variable. This picks one of the 5 most recently created car parts.
Also with your current logic it looks like you start with a family then break it down into individual object types. I don't see any reason why it couldn't be family object isSelected : set animation frame to 0. Families are used to minimize the redundant events you can see here.