fix cross check on MC21/MC23 using CDI
fix for !73419 (merged) where it ran into error (it shouldn't) when using the CDI which has `MC21` in the name but is also recommended for `MC23`
also modified to pass enum directly to do all string handling in one module as suggested by @dguest