Egg.Variant is an high quality one: https://github.com/eggs-cpp/variant .
We are likely going to get a std variant type in the next standard, either as a library component or as a language feature.