Another option is to not use enum class but then a, b and c will be visible in the global namespace. Too bad we cannot turn on/off implicit conversion and restricted scope separately.
If you are never going to use cmd as a type (only as a namespace) then you could put an anonymous enum inside a namespace named cmd. That way you get implicit conversion and you need to specify cmd:: to reach the enum values.
Thanks for the answers. I think I will go with Peter's answer as i wont realy need the cmd type and static cast will look longer and not so readable. :)