User groups will probably be handled similar to Categories. That is, nested, hierarchical folders of Users. A User group can be assigned user rights, allowing you to set rights in bulk.
Each User will be able to create their own User groups, which will not be visible to anyone else.
Group membership can be manually curated, or they could be programmatically assigned.
Flat or hierarchical?
Hierarchical groups (that is, groups within groups) could allow inheritance of properties, allowing you to create deep circles.
Perhaps simply naming a group will be enough for the User to understand the closeness of a circle (i.e. "besties" vs "acquaintances") and thus this list of User groups could simply be flat, no need for nesting.
Group management
From Followers / Following list you'll be able to sort people into groups
Manual group
The group creator can add / remove people from a User group
Programatic membership rules
User donates above/below/equal to % of their budget to some specified donation target
User donates above/below/equal to $ to some specified donation target