Is it possible to enqueue CSS files from plugin before theme’s CSS files?

It’s easy to add your plugin stylesheet after theme stylesheet. If you’re sure that your theme styles and plugin styles have the same selector weight (theme has this style .site-header { background-color: #ccc; } and your plugin has this .site-header { background-color: #f1f1f1; }) then enqueuing plugin stylesheet after theme stylesheet will work.

If you’re enqueuing with wp_enqueue_scripts action hook then changing the hook priority parameter will do the work. Here’s an example:

function op_enqueue_scripts() {
    wp_enqueue_style( 'bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css' );
}
add_action( 'wp_enqueue_scripts', 'op_enqueue_scripts', 50 );

If priority 50 doesn’t work then try increasing that to 80 or 100.