failed to create custom database table on wordpress plugin activation via php OOP method

Is your class wpe_Main file is the mail file of the plugin?

Because __FILE__ should return main plugin file path. So if your wpe_Main class is in a sub directory then the register activation won’t work.

If you want you can try like below to avoid __FILE__ confusion

Plugin path: wp-content/plugin/sampleplugin/sample.php

Then the hook should be like below

register_activation_hook( 'sampleplugin/sample.php', 
array($this,'create_wpe_enquiry_table'));

Updated after comments

If Your class in main plugin file then for sure the function is executing on plugin activation. Your table are not creating might be SQL error or typos. So please check the function responsible for creating table.

For simple testing on activation function try the below code

update_option('activation_test','its working');

then check the options, you can see that it should been updated or you can even send mail to test.

Testing the activation function is your conviniens. At the end register_activation_hook will work on OOPS without any problem. Check Reference