Groups zod
Summary
Add a zod schema to replace normalizeGroup, make the useGroups hooks use that schema.
Things are still in a bit of a halfway state, as some code still relies on normalizeGroup. For now I made the two types compatible. We'll gradually rip the rest out.