A few more details: I'm using Unity and directly applying/creating groups with a liberal policy and PlayFabClientAPI. The corrupted shared group can still be read via APIs, but cannot be written to via APIs, and is corrupted when viewed via the playfab website and also cant be deleted via playfab web UI. Here's how it looks:
As my best guess: If you have a user in a shared group and then remove that user (i did "delete master player"), the shared groups associated with that player become corrupted. They can still be read via the API, but are corrupted for viewing on the website, and cannot be written to.
Here's what the website UI looks like in this state:
Vs. a normal non corrupted shared group: