Add support for 2 & 3 field GroupBy

More could be added up to about 7 easily, but I think this would cover
the majority of use cases.