There are quite a places where there seems to is an inconsistency with how OG treats entity types and bundles.

On the one hand, because OG is now based on fields, whether an entity is a group depends on both entity type AND bundle. For example, I could make taxonomy terms of vocab Foo be one group type, and terms of vocab Bar be another. AFAICT, the OG roles and permissions system would let me define completely different permissions for each of them (og_roles() takes a bundle parameter).

But the realm in og_access_node_grants() only works on entity type.
And several functions that work with groups only take an entity type argument, eg og_get_all_group().

It seems to me that perhaps this is not an area that has been subjected to much use yet -- I imagine a lot of sites stick to one group type, with one node type being groups?