With D4867 the placement was already changed a bit, but mostly the correction if there is not enough screen space available. This new patch is meant to harmonize the placement for the available enums in a sensible way.
Instead of much talking take a look at the placement prior to D4867:
Currently / with D4867:
With this patch:
Regarding the enum names in the API and the normal use cases of a menu I think this last pattern makes the most sense. In this case the correctional behavior on screen space limits could get simplified as well. This would become a separate patch though.