Sometimes you may want to use different sets of TODO keywords in
parallel. For example, you may want to have the basic
TODO/DONE, but also a workflow for bug fixing, and a
separate state indicating that an item has been canceled (so it is not
DONE, but also does not require action). Your setup would then look
like this:
(setq org-todo-keywords
'((sequence "TODO" "|" "DONE")
(sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED")
(sequence "|" "CANCELED")))
The keywords should all be different, this helps Org mode to keep track
of which subsequence should be used for a given entry. In this setup,
C-c C-t only operates within a subsequence, so it switches from
DONE to (nothing) to TODO, and from FIXED to
(nothing) to REPORT. Therefore you need a mechanism to initially
select the correct sequence. Besides the obvious ways like typing a
keyword or using completion, you may also apply the following commands:
TODO or DONE to
REPORT, and any of the words in the second row to CANCELED.
DONE to REPORT in the example above.