yeah, I thought I would just make it have the fewest assumptions possible about the group structure and then we can encode restrictions in the configuration UI or whatever.  also doesn't seem unreasonable to allow for a user to have multiple types. also have no idea how hierarchical case sharing would even work and haven't thought about it a lot, so if we're going to use these groups for that then we should think that through.