Fix C++20 enum-enum conversion warnings

libeigen/eigen!2439

Closes #2120 and #3070
7 files changed