Currently, the domain option can only be used to generate a subset of groups, but I think we also want to generate empty groups for any other values in the domain, and also we should respect the specified order of the domain rather than always sorting naturally.