Macro for enum `TokenArg`s, so custom impl is not needed

Feature Request

Explanation

Currently, the likes of MaterialTokenArg, BPCriteriaTokenArg, and CdiTokenArg are special enums that require a custom impl, for example:

image image

However, as the nature of these is somewhat straightforward and seemingly easy to implement (ie it doesn't involve a lot of custom changes for each possible "path"), and the fact that there are going to be more TokenArg's like this, it would be nice to be able to cut down on the amount of code/custom implementation needed, by using macros so that the impl is no longer necessary, and just the enum itself can be used.

Edited by Mr Crabman