Actually you may create classes on the fly using type
to avoid defining multipl classes. Define a function that crates an inline like this:
def get_inline_by_model(m): return type( 'DynamicInline', (admin.StackedInline, ), {'model':m, 'extra':0} )
And then in your Admin class you can just define your inline like:
inlines = ( get_inline_by_model (models.GenderModel1 ) , )