prefer enums over incremental defines