Your error is complaining about EDownloadResult while you have shown the code for EUpdateResult, could be you haven’t updated all references to the enum after changing the name.
Agree with Telimaktar. You never need to forward declare enums for UHT’s purpose. Your EUpdateResult looks proper. and going by the error code, I further believe Telimaktar is correct in guessing it is a botched refactor.
The only other thing I’ve ran into with UHT ( and this may have been fixed ) is the issue of macro defines above any UENUM/USTRUCT/ whatever that throw UHT off any require semicolon ( at the end to keep UHT happily parsing along.
This is unrelated to the problems you’re having, but I really do recommend this format for defining enumerations in UE4: Enumerations in Unreal Engine 4 · GitHub
(The comments in the gist explain the differences).