This is how I imagined this working.
A drop-down on the marker creation/editing screen would have group names and the option "new group". A new group gets the name, marker color, icon, and pin status like a normal marker would. This allows for the same marker to be used for multiple groups with the same or different colors. Selecting a group from the list would update the marker to have the group's settings and editing the marker would edit the group settings. A group would automatically be deleted when all of its markers have been deleted.
On the side of the map would be a drop-down or other interface listing all groups. Clicking a group name would toggle visibility for that group.
Edit: Being able to toggle visibility of all ungrouped markers as a single group would also be nice.