Be more explicit about valid enum values
Right now enum values are just a string copied as-is in the source files. This isn't great because this allows for arbitrary expressions, such as:
42
-42
0xA0
0b0101
0666
1 + 1
3 * 4 || 6
'B'
sizeof(int)
WL_SEAT_NAME_SINCE_VERSION
and many more.
This is especially cumbersome for everything other than wayland-scanner.
It would be nice to write down some more strict rules about what the values can be.