Added templated enum interface.
Messed with printf formatting wrapper (undo me?)