I think you are reffering to the concept of precompiled headers. You have one single header file (in mfc it's stdafx.h) where you add the includes (mostly the ones that are often needed) and afterwards you are just include this header file in all other files. To be on the safe side, you can configure in your project settings, that this file is included automatically. A big advantage of precompile headers is the compilation of your project is much faster because files that haven't changed since last compile won't be compiled.
As for the enums, as long as you declare it public you can access it by class Scope:
class EnumWrapper
{
public:
enum Colors
{
Red,
Blue
}
}
...
if(EnumWrapper::Red) doStuff();
...