libsyntax: don't allow enum structs with no fields

Reject `struct Foo();` to fix #15095.