Tokenize and validate ecobenefit categories

This order is different from what was being used in `api/instance.py`, which appears to be the only thing using `GROUPS` which cares about order.  You should preserve the order, so that it matches the order used on the website.