EntityGroup is a model which is used to generically represent a collection of model instances. An EntityGroup is limited in what kinds of models can go in collection, according to the definition of its EntityGroupType.
For example, the developer could define an EntityGroupType which allows Users and Sites into the collection. Then the user could create EntityGroups, based on that type, and group together the users and sites any way they choose.
Naturally, before the user can create an EntityGroup, there are a few steps the developer must take, starting with creation of the EntityGroupType