I agree we can have a single routine set_type, and maybe we can create an ACCEPT_HEADER_ENUM and remove all the descendants. 
So the signature could be

set_type (a_accept_header: ACCEPT_HEADER_ENUM)
           -- Set `type' with `a_accept_header'

What do you think?