#[Mouse-2002](https://github.com/catb0t/mouse2002), 23 bytes


    ??"A"["B"|"C"["D"|"E"]]

Switches on two inputs, which each should be either `0` for `false` or anything else for `true`.

Ungolfed, as a function:

    #Y,?,?;
    
    $Y 1% a: 2% b:
      "A"
      a [
        "B"
      |
        "C"
        b [
          "D"
        |
          "E"
        ]
      ]
    $
    
Brackets just test if the top of the stack is true, and `|` is `else`.

This is a translation of [@Cᴏɴᴏʀ O'Bʀɪᴇɴ](http://codegolf.stackexchange.com/users/31957/c%e1%b4%8f%c9%b4%e1%b4%8f%ca%80-ob%ca%80%c9%aa%e1%b4%87%c9%b4)'s [ES6 answer](http://codegolf.stackexchange.com/a/73494/46231).