factoring reduction code for trig functions

The reduction process of trigonometric functions in radian_tag has been factored
by adding enum static fields in the selection tags which allow to choose the
reduction strategies.