If you have an enum with values only (no methods as one could do in Java), and this enum is part of the business definition of the system, should one write unit tests for it?
No, they are just state.
Fundamentally, the fact that you are using an enum is an implementation detail; that's the sort of thing that you might want to be able to refactor into a different design.
Testing enums for completeness is analogous to testing that all of the representable integers are present.
Testing the behaviors that the enumerations support, however, is a good idea. In other words, if you start from a passing test suite, and comment out any single enum value, then at least one test should fail (compilation errors being considered failures).