A Family is a related set of people. There will be one primary family member and one or more other people in the same family. Family members can generate multiple purchases for different people in the same family on the same invoice.
A Customer Type is most often associated with a level of membership or a discount or pricing structure. Let's say that you are giving people over 55 a 10% discount. You could create a rule that gives all people over 55 a 10% discount on classes. Customers with the same customer type don't necessarily generate transactions that appear on the same invoice (unless they are in the same Family ). You might have a similar discount for students.. You could call the senior Customer Type SENIOR and the student Customer Type STUDENT (or something similar)
A Customer Group is more something that applies to, you guessed it, a group! Let's say that you are a swim school and you want to give the local Red Cross employees a discount. You could put all of those people into a Customer Group and give them the Discount. Customers in the same Customer Group don't necessarily generate transactions that appear on the same invoice (unless they are in the same family). Customer Groups can also be used for Priority Registration and are functional in some reports.