Yes, this preserves strong types *and* makes it easy not to forget anything when adding a new option.