$A.enqueueAction is hit, but not executed until another event fires in page (SweetAlerts)

I think this is happening because you are calling the method from outside Aura's normal rendering cycle -hence it works once you force something else to render. Try putting your callback inside this:

$A.getCallback(function() {
    if (component.isValid()) {
        helper.deleteDoc(component, docId );
    }
});

This sorted it for me:

$A.getCallback(function() {
     $A.enqueueAction(action);
})();

Note the () on the end before the ;