It sounds like you have a work item of type "Issue". The process template defines both work item types, possible states for each work item type as well as state change transition rules. While there are many possible values for System.Reason
and System.State
, the "issue" work item type is very limited.
The "issue" type can only be in states "active" or "closed". When moving from "active" to "closed", the only possible reason is "issue resolved". When moving back from "closed" to "active", the only possible reason is "reactivated."
More information about the "issue" work item type is available on MSDN.
As you note, the "issue" work item type is fraught with limitations. It's often more useful to use a bug or a task work item type to define work that needs to be done in your sprint.