Proposed resolution (December, 2012):
Change 6.8 [basic.types] paragraph 5 as follows:
A class that has been declared but not defined, an enumeration type in certain contexts (9.8.1 [dcl.enum]), or an array of unknown size or of incomplete element type, is an incompletely-defined object type.43 Incompletely-defined object types...
Add the following as a new paragraph preceding 9.8.1 [dcl.enum] paragraph 6:
An enumeration whose underlying type is fixed is an incomplete type from its point of declaration (6.4.2 [basic.scope.pdecl]) to immediately after its enum-base (if any), at which point it becomes a complete type. An enumeration whose underlying type is not fixed is an incomplete type from its point of declaration to immediately after the closing } of its enum-specifier, at which point it becomes a complete type.
For an enumeration whose underlying type is not fixed...
This resolution also resolves issue 977.