I can only speak to the structure part of your question. My API/SSO knowledge is close to non-existant.
The structure is possible, just not exactly what you shared.
This is 100% possible and works right out of the box. Simply make new categories (and subcategories) and you’ll have this functionality.
This is where it doesn’t quite work out perfectly. Categories are intended to be a global organizational structure, not user specific. As such, creating a “My Groups” category is not doable. What you would need to do is something closer to this:
Groups (private to any logged-in user with at least one Blook Club)
± Grandma’s Book Club (private to any logged-in user in the “Grandma’s” group)
± Weekend Warriors Book Club (private to any logged-in user in the “Weekend Warriors” group).
Keep in mind that a user who cannot see a parent category will not be able to see any child categories even if the child category permissions would allow it to be seen.