Какой патерн применить для взаимодействия из одного места взависимости от конфига (YII2)?
В ваш код сильно не вникал, но почитайте эту статью по-поводу разных таблиц для идентичных, чуть отличающихся моделей, возможно вы изобретаете велосипед.
делать надо так: 
3 модели 3 таблицы
модель заказа с параметром type и общими данными
модель для типа 1
модель для типа 2
в моделе заказа связь зависимая от параметра type, например:publiс function getData(){
switch($this->type){
case 1:
$data = $this->hasMany(Model1::classname(),['order_id'=>'id']);
break;
case 2:
$data = $this->hasMany(Model2::classname(),['order_id'=>'id']);
break;
default:
$data = null;
}
return $data;
}