Private or permissioned blockchains are really just shared databases. Using shared databases can be a terrible idea for enterprises because, in case of a data breach, one company could potentially give away all of its sensitive data to its competitors.
A company needs to have the ability to control who can access the data under certain time and conditions. Public or permissionless blockchains are not suitable for powering any sort of enterprise applications due to the fact that there is no data compartmentalization. However, public blockchain is very good at hash management and ordering service. It can be used as a integration message bus, much like a flexible middleware that does one thing and does it well.