renamed category to promise_type and check if it is a valid promise type

and check if it is a valid promise type  + unit test