Tokens are now less error-prone to define

We use the X-macros trick to declare three tables from one list in a define.