Everything seems fine, this is missing:
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
switch (serialPort1.ReadChar())
{
case 'E':
// do something
break;
default:
// other
break;
}
}