available value depends on samba version. You are always better to do man smb.cnf to check this on the machine. 
however i am pretty pleased to have it fail proof seeing this test with non existing options.  
our %ProtocolOrder = (      CORE => 1, # samba client default without explicit option; not available for server
                                COREPLUS => 2, # not available for server
                                LANMAN1 => 3, #samba server default without explicit option
                                LANMAN2 => 4,
                                NT1 => 5, # CIFS or SMB1
                                SMB2_02 => 6,
                                SMB2_10 => 7,
                                SMB2 => 7, # yes SMB2 default to 2_10
                                SMB2_22 => 8,
                                SMB2_24 => 9,
                                SMB3_00 => 10,
                                SMB3_02 => 11,
                                SMB3_10 => 12,
                                SMB3_11 => 13,
                                'SMB3' => 13 # yes SMB3 default to SMB3_11
                        );
    $clientMaxProt = $smb{ClientMaxProtocol} || "SMB3";
    $serverMaxProt = $smb{ServerMaxProtocol} || "SMB3";
    #checking option is possible
    $clientMaxProt = ( exists($ProtocolOrder{$clientMaxProt}) ) ? $clientMaxProt : "SMB3";
did similar for min protocol