With overloadable enums specifically, packages breaking the way they did was expected. I [made an issue](https://github.com/nim-lang/Nim/issues/20077) detailing the exact difference with no overloadable enums that breaks packages, then I [made an RFC](https://github.com/nim-lang/RFCs/issues/468) to deal with it, but it was decided that the behavior that comes with overloadable enums is better.
This behavior being that enum fields with the same name should be considered ambiguous regardless of which scope they are in (i.e. locally defined enums are not prioritized over enums in imports or higher scopes). The way to adapt packages to this is literally just to qualify enum fields. The error message for values with ambiguous types are pretty bad, but that doesn't change the fix, and that problem exists no matter what you do about overloadable enums.