I think I'll just document them and not make them into an enum.  They are similar between functions but not identical.  For the most part, I'm not expecting anyone to ever test against the specific error codes anyway.  If these functions fail, it almost certainly means a fatal error for the caller.

The same comment applies to the underlying flash driver APIs.  Nobody really checks the specific error value, just reacts to pass/fail.

The specific failure codes are primarily useful only for debugging.