net: phy: re-design phy_modes to be self-contained