Introduced EndPt enumerated type and type restrictions for custom_gauss_rule