Хорошо, я понял свою ошибку. Получается, что если я сделаю forward declaration своего enum class, то я всё равно не смогу использовать те значения, которые объявлены внутри него, по типу:
Mode mode = Mode::UNDEFENDED;
Единственный выход -- выносить объявление в отдельный заголовочный файл?
Хорошо, спасибо за развёрнутый ответ. С адаптивностью никогда не имел дела, но собирался. Да, сайты подомной тематики я просматривал. Но не так уж из и много хороших на тему футбола.