Private Enum types and Enum types defined in standard modules or private classes cannot be used in public object modules as parameters or return types for public procedures, as procedures, as public data members, or as fields of public user defined types
This error has the following cause and solution:
A non-exposed enum was used as a parameter or return type of a public procedure or a public data member of an exposed class.
Exposed here means that the enum is exposed from the ActiveX server that is being defined, which is equivalent to saying that it is declared in a public class of an ActiveX Exe or Dll project.