The only use case I know of for Groups without axis is to define "generic" positional groups:
FIRST = IGroup(0)
SECOND = IGroup(1)
LAST = IGroup(-1)
but that's not a good enough reason for the added complexity IMO. Nobody ever used that I think (nobody instantiates the groups classes manually I think).
Concerning Group(key, axis='mystr'), I am unclear if there is any real use case we would break. I don't think so but I would like to just try deprecating any non Axis and see how it goes with our test suite.