1. Попробуйте зарегистрировать и само перечисление так:
Q_DECLARE_METATYPE(CommunicationEnums::EButtons)
и
qmlRegisterUncreatableType("EButtons", 1, 0, "EButtons", "Error class uncreatable");
2. На сколько помню, была такая проблема в 5.2, даже находили багу с описанием в багтрекере Qt. Суть в том, что мета-объектная система не регистрировала нормально перечисления и их приходилось дублировать в каждом классе к которому шли обращения из QML.
Какая у Вас версия Qt?