It will compile, but you won't be able to call that method on ENUMCONSTANT3. The reason is that enum constants are secretly anonymous subclasses of the enum type, so you can only call methods on them that are declared (and optionally implemented) in the enum type or overridden/implemented in the enum constant 'subclass'.

This means you will need a method in EnumType that is overridden or implemented in the enum constants. If it is abstract, all the constants will have to implement it:
Code:
static enum EnumType {
   ENUMCONSTANT1 { void constantsOwnMethod() { ... } },
   ENUMCONSTANT2 { void constantsOwnMethod() { ... } },
   ENUMCONSTANT3 { void constantsOwnMethod() { ... } };

   abstract void constantsOwnMethod(); // implement in constants
}
Alternatively, you can provide a default implement of the method in EnumType and override it in ENUMCONSTANT3:
Code:
static enum EnumType {
    ENUMCONSTANT1,
    ENUMCONSTANT2,
    ENUMCONSTANT3 { void constantsOwnMethod() { /* overriding implementation */ }};

    void constantsOwnMethod() { /* default implementation */ }
}
Until real software engineering is developed, the next best practice is to develop with a dynamic system that has extreme late binding in all aspects...
A. Kay