Actually it's the last instance in the for loop that sets the actions.
What you need to do is not globally activate the groups (because then it will be the same for every family member in the end, since the last of the loops just decides what's active and what not). Simple advise: use an instance variable for that family, maybe call it "mode" and assign to it "look" "chase" "attack".
Then in your chase events first pick family by comparison family.mode = "look", or whatever action you wanna do. This way only family members will be affected, that are in the correct mode.