It is currently not possible to write something like: enum DebugLevel { LOW, MEDIUM, HIGH }; debug(DebugLevel.HIGH) Logger.writeDebug(""); I think it is to restrictive to only allow Integer. An enum could easily be cast to an integer internally. You could of course write something like: const int DebugLevelLow = 0; const int DebugLevelMedium = 1; const int DebugLevelHigh = 2; debug(DebugLevelHigh) Logger.writeDebug(""); But this isn't as elegant as using enums.
There is also this syntax: debug ( Identifier ) So you can use: debug(MEDIUM) Logger.writeDebug(""); To be compiled with: -debug=MEDIUM