Is there a reason why m5n and m6in families aren't for the gateway_instance_type?
As per documentation, these two families are geared toward network performances and have a 1:4 ratio between vcpu and memory that is more convenient of c* families, for example, that have a 1:2 ratio.
To be honest, I don't get why you're putting such a limit on instance types, this renders the module subject to this kind of issue any time a new instance family comes out. It would be better to document which types are suggested and leave the freedom to the user to choose which instance type to use.