すいません、質問したいのはこういうことでした。

namespace NA{
    enum Foo{A,B,C};
    struct Inner{
        Foo_ foo;
    };
}

namespace NB{
    struct Bar{
        typedef NA::Foo Foo;
        typedef NA::Inner Inner;

        void test(){
            Inner f;
            f.foo = NA::A;//←本当は、Aと書きたい
        }
    };
}

この願いは、無理でしょうか?
Visual C++ 2005 で試しました。