One of the goals of backtrader was (and still is) to remain as much as possible Pure Python and only dependent on the standard packages available in the standard python distribution.

Being the only exception matplotlib for plotting purposes. There is actually no need to have it installed if only backtesting is wished.

Other dependencies like the ones needed for example for statsmodels were added by means of declarations (or meta-programming) which allow defining an Indicator as needing that dependency.

Using enums will be considered when a major rework of the platform is done and dependencies (or maybe python 2.7 support is dropped altogether) are included.

To print the name of bt.Order.Submitted you can query the order instance:

status_text = order.getstatusname(bt.Order.Submitted)