make default_action return an enum, rather than an int

More descriptive types are always good.  Giving the enums names also
helps ensure they don't get used in unexpected places.