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:

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.