I disagree. I think that violates seperation of concerns and needlessly complicates the API. The interface shouldn't know nor care if it was given a name or a UUID, it should just pass it to the storage layer and see if it gets a group back. The storage layer is the part that should care whether it's been given a name or a UUID, and it can figure that out unambiguously, so there is no need for additional methods in the interface.