Да, так: Хедеры добавляются в другие файлы, если используются константы или переменные этого хедера
только в хидере к переменным обязательно добавлять extern.
Как мне сделать видимыми константы из enum другим модулям
написать в ц-файле #include "имя хидера.h"
Убрал хидер - ругается.
Значит копмилятору не хватает какой-то информации из хидера.
P.S. Понимаете, что такое есть инклюде? это команда вставить содержимое файла в другой файл (который в итоге и будет скомпилирован).