Fix issue with wrong enum names. The code that removed the enum name
from enum symbolnames. E.g.

struct A { enum B { C } };

=> A::B::C

The code that removed the B:: part modified the buffer and left the
token offsets wrong afterwards. Also, we don't need to do strstr for
this.