Since 1.18 was released it's now trivial to implement compile-time (safe) 'sum types' in Go. They're fully supported.
It's about 300loc to implement and then sum types can be defined declaratively just like any other type (and without any boilerplate).
There hasn't been any fanfare about this capability because it doesn't require any special syntax or new keywords. Just know that the suggestion that "Go 1.18+ doesn't support sum types and/or enums", is very wrong.