Make group names an abstract type