Rearranging the position of enumerators in an Enum BP will change references to the enumerators inside Data Tables based on position rather than value.
Reproduced in 4.8.3 binary, 4.9.2 binary, 4.10.0 binary, and Main (CL# 2763515)
1. Open any project
2. Create a new Enum BP
3. Add 3 enumerators: New Enumerator 0, New Enumerator 1, New Enumerator 2
4. Make a new Struct BP
5. Set the MemberVar_0 variable type to the new Enum BP
6. Create a new Data Table based on the new Struct BP
7. Add 3 rows
8. Set the first row to New Enumerator 0
9. Set the second row to New Enumerator 1
10. Set the third row to New Enumerator 2
11. Save all
12. Close the Data Table
13. Move the New Enumerator 2 up to the top position using the arrow keys to the side of the Enum BP
14. Reopen the Data Table
Result:
The top row is now set to New Enumerator 2, followed by New Enumerator 0 and New Enumerator 1
Expected:
The rows retain the value of the Enumerators based on name rather than position, so first row is New Enumerator 0, second is New Enumerator 1, and third is New Enumerator 2
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-23294 in the post.