The Interface does not define how to handle EngineExceptions of single engines while enhancing parsed content Items.
The InMemoryJobManager implementation just forwards such exception what causes the whole enhancement request to fail if a single Engine encounters an exception. This might be the intended behavior in some cases, but might be unintended under other conditions. Especially on errors within semantic lifting type enhancement engines it might still make sense to return enhancement results of previous engines.
One possible way would also to include an "enhancement report" in the response that provides information about errors and warnings during the enhancement process. This might be also a nice feature for the still unimplemented async. enhancement mode, because than such a report could also contain a listing of expected, but still missing enhancement results.