refactor enum settings to manage them consistently