¿Cómo puedo asignar el valor seleccionado en un cuadro de lista a una enum var?

Quiero evitar la confusión de:

private void listBoxBeltPrinters_SelectedIndexChanged(object sender, System.EventArgs e)
{
    string sel = string listBoxBeltPrinters.SelectedItem.ToString();
    if (sel == "Zebra QL220")
    {
        PrintUtils.printerChoice = PrintUtils.BeltPrinterType.ZebraQL220;
    }
    else if (sel == "ONiel")
    {
        PrintUtils.printerChoice = PrintUtils.BeltPrinterType.ONiel;
    }
    else if ( . . .)
}

¿Hay alguna forma en que pueda asignar de forma más elegante o elocuente a una enumeración basada en una selección de cuadro de lista, algo así como:

PrintUtils.printerChoice = listBoxBeltPrinters.SelectedItem.ToEnum(PrintUtils.BeltPrinterType)?

?

Respuestas a la pregunta(2)

Su respuesta a la pregunta