Let enums to re-initialize so all new literals are instantiated. Since we might
have references to old instances, copy old instances into new enum. Ideally,
we would like to replace old instances with new ones, but we re-initialize enums
only after redefinition is finished and therefore we cannot do the heap update.
Theoretically, we can instantiate new literals before re-initializing enums,
replace old references with new ones and somehow intercept instantiation of
new literals to use the memory we allocated already instead of creating new
ones.
Or maybe just after we re-initialize enums we do byte-by-byte copy from
initialized instances to instances we created during heap inspection.